package chapter11_api.string;

import org.junit.Test;

import java.io.UnsupportedEncodingException;

/**
 * ClassName: StringMethodTest
 * Package: chapter11_api.string
 * Description:
 *
 * String与常见的其他结构之间的转换
 * 1.String与基本数据类型、包装类之间的转换
 * 2.String与char[]之间的转换
 * 3.String与byte[]之间的转换
 *
 * @Author SherryAn
 * @Create 2025/8/15 12:29
 */

public class StringMethodTest {
//  String与基本数据类型、包装类之间的转换
    @Test
    public void test1(){
        int num=10;
//        1.int-->String
        String s1=num+"";
        String s2=String.valueOf(num);
//        2.String-->int
        String s="123";
        int i=Integer.parseInt(s);
    }

//    String与char[]之间的转换
    @Test
    public void test2(){

//        String-->char[]
      String s="abc";
      char[] c =s.toCharArray();
      for(int i=0;i<c.length;i++){
          System.out.println(c[i]);
      }
//          char[]-->String
      char[] c1={'a','b','c'};
      String s1=new String(c1);
      System.out.println(s1);

    }

//    String与byte[]之间的转换
    @Test
    public void test3(){
//        String-->bute[]
        String s1=new String("Hello中国");
        byte[] b1 =s1.getBytes();//使用默认字符集
        for (int i = 0; i < b1.length; i++) {
            System.out.println(b1[i]);
        }
        try {
            byte[] b2 =s1.getBytes("gbk");//使用指定字符集
            for (int i = 0; i < b2.length; i++) {
                System.out.println(b2[i]);
            }
        } catch (UnsupportedEncodingException e) {
            throw new RuntimeException(e);
        }

//        byte[]-->String
        byte[] b3={97,98,99};
        String s3=new String(b3);
        System.out.println(s3);

    }





}

